home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume9 / xterm / part01 next >
Encoding:
Internet Message Format  |  1987-04-19  |  59.0 KB

  1. Subject:  v09i054:  Terminal emulator for X window system, Part01/07
  2. Newsgroups: mod.sources
  3. Approved: rs@mirror.TMC.COM
  4.  
  5. Submitted by: edmoy@opal.Berkeley.EDU
  6. Mod.sources: Volume 9, Issue 54
  7. Archive-name: xterm6.6b/Part01
  8.  
  9. This is part 1/7 of version 6.6B of xterm, a modified version of the X
  10. version 10, release 4 xterm.  It has all the bug fixes I know of and has
  11. some other clean up done.  Enjoy.
  12.  
  13. Edward Moy
  14. Academic Computing Services
  15. University of California
  16. Berkeley, CA  94720
  17.  
  18. edmoy@opal.Berkeley.EDU
  19. ucbvax!opal!edmoy
  20. #! /bin/sh
  21. # This is a shell archive, meaning:
  22. # 1. Remove everything above the #! /bin/sh line.
  23. # 2. Save the resulting text in a file.
  24. # 3. Execute the file with /bin/sh (not csh) to create the files:
  25. #    CHANGES
  26. #    CHANGES.resize
  27. #    CHANGES.termcap
  28. #    ONELINE
  29. #    README
  30. #    Tekparse.h
  31. #    VTparse.h
  32. #    bottom.ic
  33. #    button.ic
  34. #    dark.ic
  35. #    data.h
  36. #    downline.ic
  37. #    downpage.ic
  38. #    error.h
  39. #    gray.ic
  40. #    hilite.ic
  41. #    icon.ic
  42. #    light.ic
  43. #    ptyx.h
  44. #    saveoff.ic
  45. #    saveon.ic
  46. #    scrollbar.h
  47. #    tek_icon.ic
  48. #    top.ic
  49. #    upline.ic
  50. #    uppage.ic
  51. #    wait.ic
  52. #    waitmask.ic
  53. if test -f CHANGES
  54. then
  55.     echo shar: will not overwrite existing file "'CHANGES'"
  56. else
  57. echo 'x - CHANGES'
  58. cat << \RAZZLE!DAZZLE > CHANGES
  59. VERSION X10/6.6B
  60. ------- --------
  61.  
  62. General
  63. -------
  64.  
  65. vt102 and Tektronix 4015 emulation in separate windows, each with its own
  66. mode menu (control middle button).
  67.  
  68. Switching between each mode can be done via the menus, or with escape
  69. sequences:
  70.     vt102 -- \E[?38h --> tek
  71.     tek   -- \E\003  --> vt102
  72.  
  73. The windows hilite themselves when the mouse is with either window or when
  74. one of these is the focus window.  The windows unhilite when the mouse moves
  75. out of the window and neither is the focus window.  Hiliting appears as
  76. windows with solid color borders and solid block cursors.  Unhiliting appears
  77. as windows with "grayed" borders and a rectangle cursor.
  78.  
  79. The parser for both modes is table-driven and is much more efficient than the
  80. original parsers.
  81.  
  82. If UTMP is define in the Makefile, then each instance of xterm makes an entry
  83. in /etc/utmp and thus appears with the "who" command.
  84.  
  85. If both windows are visible and one is iconified, both disappear.  Deiconifing
  86. causes both to appear again.
  87.  
  88. If the initial mode is vt102, /etc/termcap is searched, in order, for the
  89. following termcaps, until one is found:
  90.     xterms, xterm, vt102, vt100, ansi, dumb
  91. If the vt102 window happens to be 80x24, then xterms is added to the begining
  92. of the list.  If the initial mode is tek, the termcaps searched for are:
  93.     tek4015, tek4014, tek4013, tek4010, dumb
  94.  
  95. The window size is passed to the operating system via TIOCSWINSZ (4.3) or
  96. TIOCSSIZE (sun).  A SIGWINCH siganl is sent if the vt102 window is resized.
  97.  
  98. For login windows, menus are disabled until a user has successfully login.
  99.  
  100. A new menu (xterm) has been added (control left button) that gives the version
  101. number.  The menu allows titlebars to be displayed (see below), the windows
  102. redrawn, or for various signals to be sent to the process group of the command
  103. xterm is executing.  The signals include SIGCONT, SIGTSTP,SIGHUP, SIGINT,
  104. SIGTERM and SIGKILL.
  105.  
  106. Titlebars for the window can be turned on with .Xdefaults
  107. "xterm.TitleBar on", with command line option -tb or via the xterm menu.
  108.  
  109. The titlebar font is, by default, vtsingle.  The font can be changed with
  110. .Xdefaults "xterm.TitleFont helv12b" for helv12b font or via command line
  111. option -ft helv12b.
  112.  
  113. The titlebar look like Macintosh titlebars.  A series of strips appears when the
  114. window is hilited, and are gone when unhilited.
  115.  
  116. Both windows are visible and the mouse cursor is in either window, only the
  117. active window is hilited (before both windows were hilited).
  118.  
  119. A time delay has been added for window hiliting/unhiliting so that the mouse
  120. passing momentarily through a window will not cause it to hilite and then
  121. unhilite when autoraise is on.
  122.  
  123. Automatic raising of windows has been added, so that the window is automatically
  124. raised (after the time delay) when the mouse enters a window.  The mode is
  125. turned on via .Xdefaults "xterm.AutoRaise on", via command line option -ar
  126. or via the xterm menu.  This is a dubious feature.
  127.  
  128. Visual bell mode can be turned on via .Xdefaults "xterm.VisualBell on", via
  129. command line option -vb and from the xterm menu.
  130.  
  131. If the NOWINDOWMENU is not defined, then
  132. Control right button activates a windows menu that lists the visible (named)
  133. windows in back to front order reading down.  Selecting a window name cause
  134. that window to be raised to the top (useful for getting to a buried
  135. window).  This feature does not belong in xterm, and will be
  136. completely removed in V11 of X, where window managers can be more intellegent.
  137.  
  138. The tek window has the same name as the vt102 window, but with " (Tek)"
  139. appended (before they were the same).
  140.  
  141. During startup, xterm tries to create unique window names so that the
  142. windows menu will not contain ambiguous windows.  It does this by look
  143. through the list of windows and if a name exist that is the same, " #N"
  144. will be appended to make it unique (N is a number two or greater).
  145.  
  146. Some reorganization of the code and data has been done to put more data in
  147. the text segment so many xterm processes can share the (read-only) data, rather
  148. than having n copies in core.
  149.  
  150. There are several bug fixes including better sun compatibility and a problem
  151. in the vt102 parse table.
  152.  
  153. With some mods to libX.a, xterm solves a problem of running xterm on a remote
  154. host with a local window, when the remote host uses a different keymap (like
  155. running on a remote microvax on a sun).  If the environment variable KEYBD
  156. is set or the command line option "-kb name" is given, then a keymap file
  157. with the given name is used, rather than the default of your .Xkeymap file.
  158. Standard names for keymap files is yet to be made.  (This option is turned on
  159. via defining KEYBD in the Makefile.)
  160.  
  161. Xterm now always creates its own icon(s), which includes the window's name.
  162. The -i option now means startup showing the icon.  The option #[+-]x[+-]y
  163. means to position the icon there instead of centered within the window.
  164. The bitmap within the icon show the current active mode (either vt102 or
  165. tek).  The icon reverse-videos with the windows.
  166.  
  167. By default, the icons are a miniture window and the window title.  The icon
  168. can also be miniture versions of the window.  This is activated with .Xdefaults
  169. "xterm.ActiveIcon on", -ai from the command line, or from the xterm menu.
  170.  
  171. The active icon does not normally allow input.  A menu selection in the xterm
  172. menu will allow input to the icon.
  173.  
  174. When the mouse is in the stripped area of the titlebar, you can get any
  175. of the three menus without pressing the control key.  Clicking in the
  176. actual title iconifies.  Clicking in an icon deiconifies it.
  177.  
  178. Many mode option on the command line allow a '+' instead of '-' to indicate
  179. turning off the indicated mode.
  180.  
  181. Color support has been improved, so that an unselected cursor is an empty
  182. rectangle with the foreground color, and the selected cursor is a filled
  183. rectangle with the cursor color.
  184.  
  185. A better and faster menu package has been added that supports (Mac-like)
  186. checkmarks and dimmed (disabled and grayed) item, as well as line separator
  187. items.
  188.  
  189. To conserve on resources, the unhilited border of the window(s) is now
  190. always a gray pixmap, which is shared by the menu package.
  191.  
  192. Logging capability has been added, in which all characters sent to the
  193. xterm window are recorded.  The mode is turned on by using .Xdefaults option
  194. "xterm.Logging on", -l on the command line, from the xterm menu or the
  195. escape sequence \E[?46h in vt102 mode.  Logging is turned off through the
  196. xterm menu or \E[?46l in vt102 mode.  The default log file is XtermLog.XXXXX
  197. (XXXXX is the process id of xterm) and is in the initial directory in which
  198. xterm was started (the home directory for login xterms).  Each logging start
  199. appends to the end of the loggin file, and each logging stop closes the file.
  200.  
  201. An alternate logging file may be given with .Xdefaults "xterm.LogFile file"
  202. (file is the alternate filename) or with command line option "-lf file".
  203. If the first character of the logfile name is `|', then the rest of the
  204. name passed to the shell for execution and a pipe is created to the process.
  205. In this case, each time the log is started, a new process is created and
  206. when logging is turned off, the pipe is closed.  Thus, a logfile name of
  207. "| lpr", will send text to the line printer each time logging is turned off.
  208.  
  209. Certain modes may be inhibited by specifying in the .Xdefaults file.  A
  210. change to the initial logging mode may be prevented with "xterm.LogInhibit on",
  211. which will prevent changes to logging from the menu or from escape sequences.
  212. "xterm.SignalInhibit on" disables the xterm menu signal sending (Continue is
  213. still allowed).  "xterm.TekInhibit on" prevents entering into Tektronix mode.
  214.  
  215. As per edjames@eros, xterm sets the environment variable WINDOWID, which
  216. contains the Window id of the initial window (normally vt102, but could be
  217. the tek window if the -t option were specified).  This "feature" is
  218. bogus, as it may not always give you all information you need to
  219. access a window.
  220.  
  221. The title in the title bar may be changed with the \E]0;new title\007 escape
  222. sequence.  Any non-printing character terminates the title string.  The
  223. windows and icons are also renamed, and the icons are resized to fit the
  224. new title.
  225.  
  226. The log file may be changed with the \E]46;new log file\007 escape sequence.
  227. If the log file name is empty, the default log file name is used.
  228.  
  229. In visual bell mode, the icons now flash on receipt of a control-G.
  230.  
  231. If xterm is iconified and new input comes in, a box is drawn around the
  232. icon title.
  233.  
  234. The bitmap used for the icons is now user definable.  The VT102 bitmap may be
  235. set with .Xdefaults "xterm.IconBitmap file" or with "-ib file" on the command
  236. line.  The Tek bitmap may be set with .Xdefaults "xterm.TekIconBitmap file"
  237. or with "-it file" on the command line.  These files are assumed to be
  238. bitmap(1) format files.  If only one bitmap file is specified, it is used for
  239. both modes.  If both are specified as null file names, then no bitmap is drawn.
  240.  
  241. Normally, the title text of the icon is displayed to the right of the
  242. bitmap.  The text may be displayed under the bitmap by using .Xdefaults
  243. "xterm.TextUnderIcon on" or with -ti on the command line.
  244.  
  245. The mouse may be automatically warpped to the xterm window when it is
  246. deiconified by using .Xdefaults "xterm.DeiconifyWarp on" or using -dw on
  247. the command line.  This is also of questionable merit.
  248.  
  249. The standard error output used by xterm is now improved.  Normally it will
  250. be the same standard error when xterm is started.  For login xterms
  251. (-L specified) then the standard error will be to /dev/console.
  252.  
  253. X error events are now intercepted so that xterm may cleanup before exiting
  254. (like resetting the tty modes and clearing the /etc/utmp entry).
  255.  
  256. VT102
  257. -----
  258.  
  259. vt102 emulation is much more complete than the original xterm.
  260.  
  261. Underlined characters is now supported.
  262.  
  263. A partial sun tty emulation is provided (x, y, w, h, c, r are numbers):
  264.     \E[3;x;yt    move window to (x, y)
  265.     \E[4;w;ht    resize window - width w, height h pixels
  266.     \E[5t        raise window
  267.     \E[6t        lower window
  268.     \E[7t        redisplay window
  269.     \E[8;r;ct    resize window - r rows, c columns
  270.     \E[13t        send window position \E[3;x;yt
  271.     \E[14t        send window size (pixel) \E[4;w;ht
  272.     \E[18t        send window size (rows and columns) \E[8;r;ct
  273.  
  274. The text for reexcuting (shift-left button), copy (shift-middle button-drag)
  275. and paste (shift-right button) is now hilited by reverse video.
  276.  
  277. Pasting text that was originally displayed as vt102 graphic characters now
  278. returns the original ascii character (and not the internal representation).
  279.  
  280. Text that is scrolled off the top of the window can be saved and is accessable
  281. via a scrollbar.  By default, saving is off and can be turned changed via
  282. escape sequence \E[?43h (on) and \E[43l (off) or from the mode menu.  The
  283. scrollbar is normally off, but may be made visible with .Xdefault option
  284. "xterm.ScrollBar on" or command line option -sb.  The scrollbar state can
  285. be changed via the mode menu or escape sequences \E[?42h (on) and \E[?42l
  286. (off).
  287.  
  288. The scrollbar is composed of three parts (from top down), the scroll button,
  289. the save button and the scroll region.  The scroll button changes what is
  290. displayed in the window.  Left button pressed in the scroll button causes
  291. the window to move one line up (the text scrolls one line down).  The right
  292. button moves one line down.  Shift left button moves one screenful up and shift
  293. right button moves one screenful down.  Control left button moves to the top
  294. of the buffer, control right button moves to the bottom.  The visible area
  295. is shown graphically in the scroll region, with the (usually) dark region
  296. that part of the buffer that appears in the window.  Clicking the left or
  297. right button in the scroll region cause the visible region to be position
  298. with its top at the mouse position.  The save button shows the state of saving
  299. or not saving lines.  By default, any input or output will return the
  300. screen to the bottom.
  301.  
  302. The default maximum number of lines saved off the top is 64, but can be
  303. specified in .Xdefaults as "xterm.SaveLines 100" for 100 lines, or as
  304. a command line option "-sl 100".
  305.  
  306. The lines saved can be cleared via the mode menu.
  307.  
  308. A margin bell can be turned on via .Xdefaults "xterm.MarginBell on", command
  309. line option -mb or mode menu.  The default number of columns from the right
  310. margin is 10 and is settable via .Xdefaults "xterm.NMarginBell 15" for 15
  311. columns, or via command line option -nb 15.  The mode may be changed by escape
  312. sequence \E[?44h (on) and \E[?44l (off).
  313.  
  314. To emulate the vt102 switching between 80 and 132 columns, the mode may
  315. be turned on via .Xdefaults "xterm.C132 on", via command line option -132 or
  316. via the mode menu.  The mode may be changed by escape sequence \E[?40h (on)
  317. and \E[?40l (off).
  318.  
  319. A mode that fixes a bug in curses (e.g. when using "more" on lines that have
  320. lines that print on the last column of the line and the next line begins with
  321. a tab) can be turned on .Xdefaults "xterm.Curses on", command line option
  322. -cu or via the mode menu.  The mode may be changed by escape sequence
  323. \E[?41h (on) and \E[?41l (off).
  324.  
  325. Auto linefeed mode and auto repeat are supported.
  326.  
  327. The mode menu is now more descriptive.
  328.  
  329. Most Dec Private mode settings can be save away internally using \E[?ns,
  330. where n is the same number to set or reset the Dec Private mode.  The
  331. mode can be restored using \E[?nr.  This can be used in termcap for vi, for
  332. example, to turn off saving of lines, but restore whatever the original
  333. state was on exit.
  334.  
  335. An optional status line (in reverse video) has been added to the bottom of
  336. the vt102 window.  The following escape sequences work on the status line:
  337.     \E[?S        show status line
  338.     \E[?H        hide status line
  339.     \E[?nT        enter status line, at column n
  340.     \E[?F        return to the position before entry into status line
  341.     \E[?E        erase status line
  342. Also, the status line may be turned on via .Xdefaults "xterm.StatusLine on",
  343. the -st commandline option or from the mode menu.
  344.  
  345. Reverse wraparound can be enabled with .Xdefaults "xterm.ReverseWrap on", via
  346. command line option -rw or from the mode menu.  Also the escape sequences
  347. \E[?45h turns on reverse wraparound and \E[?45l turns it off.  Reverse
  348. wraparound only works when autowrap is also on and is useful, for instance,
  349. when entering a long line that wraps to the shell and needing to erase
  350. backwards to correct it.
  351.  
  352. The scrollbar code has been modified to use fewer pixmaps, and should work
  353. better on the GPX.
  354.  
  355. An alternate screen buffer is now supported.  Entry into the alternate screen
  356. buffer with \E[?47h will automatically inhibit lines from being saved off the
  357. top of the window and \E[?47l returns to the normal screen buffer and restores
  358. the original state of line saving.  The new termcap entry causes vi to use
  359. the alternate screen buffer on entry and clears the alternate buffer before
  360. returning to the regular buffer.
  361.  
  362. If the normal font is specified and the bold font isn't, then the bold font
  363. is automatically created be overstring, ala dcmartin@ingres.
  364.  
  365. The scrollbar now has its own menu, available when the middle button is pressed
  366. anywhere in the scrollbar.  The menu entries originally in the mode menu having
  367. to do with the scrollbar have been moved to the scrollbar menu (except the
  368. Scrollbar entry, to initially display the scrollbar).
  369.  
  370. The scroll bar may be repositioned automatically at the bottom when input comes
  371. in by using .Xdefaults "xterm.ScrollInput on", using -si on the command line
  372. or via the scrollbar menu.
  373.  
  374. The scroll bar may be repositioned automatically at the bottom when a key is
  375. pressed by using .Xdefaults "xterm.ScrollKey on", using -sk on the command line
  376. or via the scrollbar menu.
  377.  
  378. Normally the status line is displayed in reverse video.  A normal-video status
  379. line may be obtained by using .Xdefaults "xterm.StatusNormal on", with
  380. -sn on the command line or via the mode menu, or may be controlled with the
  381. escape sequences \E[?48h (on) and \E[?48l (off).  In normal video mode, a
  382. box is still drawn around the status line.
  383.  
  384. Page scroll mode may be activated by using .Xdefaults "xterm.PageScroll on",
  385. using -ps on the command line or via the mode menu, or may be control by the
  386. escape sequences \E[?49h (on) and \E[?49l (off).  In page scroll mode,
  387. after a page of input has been displayed, further scrolling is disabled
  388. and the text cursor is hidden.  Typing a carriage return allows another
  389. line to be scrolled (the return is discarded).  Pressing the space bar (or any
  390. other printable character) causes another page to be scrolled (the character
  391. is discarded).  Typing a control character scrolls another page, but the
  392. control character is sent (e.g., your interrupt character).
  393.  
  394. A page in page scroll mode is defined to be the number of lines in the current
  395. scrolling region, minus the page overlap number.  The page overlap is one by
  396. default, but may be set by .Xdefaults "xterm.PageOverlap 3" or via the
  397. "-po 3" command line option.
  398.  
  399. Page scroll mode is automatically inhibited when using the alternate screen.
  400.  
  401. The icon windows are now named, with " (icon)" appended.  Thus, iconified
  402. xterms now show up in the windows menu.
  403.  
  404. Tektronix
  405. ---------
  406.  
  407. Tek mode is much more complete than the original.
  408.  
  409. Tek standard two column mode is supported.
  410.  
  411. Four different character sizes are supported and can be changed via the
  412. tek menu.
  413.  
  414. 5 line types are supported (solid, dotted, short dashed, long dashed and
  415. dot dashed).
  416.  
  417. All of the tek character sequences are stored and can be saved into a file
  418. via the standard COPY escape sequence or from the mode menu.  The file created
  419. is named COPYyy-mm-dd.hh:mm:ss (COPY plus the date and time) and is placed
  420. in the initial directory in which xterm was started.  Login xterms use the
  421. users home directory.
  422.  
  423. When the tek window is being refreshed, the mouse cursor shows a clock.
  424.  
  425. The X geometry of the Tek window can be given on the command line (independently
  426. of the VT102 window) by using %geometry (`%' rather than `=').
  427.  
  428. In GIN mode, pressing a key will send the key and the mouse coordinates of
  429. the cross cursor, similar to standard Tek GIN mode.  Pressing a mouse button
  430. instead will send the character `l', `m' or `r' depending on whether the
  431. left, middle or right button was pressed, respectively.  If the shift key was
  432. down when the button was pressed, the corresponding upper case character is
  433. sent.  To distinquish a button press from a key press, the high bit of the
  434. character is set, but this is only useful if the tty mode is set to RAW to
  435. pass all 8 bits.
  436. RAZZLE!DAZZLE
  437. fi    # End CHANGES
  438. if test -f CHANGES.resize
  439. then
  440.     echo shar: will not overwrite existing file "'CHANGES.resize'"
  441. else
  442. echo 'x - CHANGES.resize'
  443. cat << \RAZZLE!DAZZLE > CHANGES.resize
  444. resize version X10/6.6
  445. ------ ------- -------
  446.  
  447. This version of resize uses the standard VT102 escape sequences as before.
  448. In addition, there is a -s flag that will use the Sun tty emulation escape
  449. sequences and allow the window to adjusted from the command line.  For example,
  450. to change the window size to 35 rows by 80 columns, one can use:
  451.  
  452.     % set noglob; eval `resize -s 35 80`
  453.  
  454. The TERMCAP environment variable will be adjusted accordingly.
  455.  
  456. If a link is made from resize to sunsize, sunsize will use the sun emulation
  457. exclusively (and should work under Suntools, also).
  458.  
  459. Before, resize could send an escape sequence and fscanf could returned before
  460. xterm sends its escape sequence, thus failing.  Now the read is synchronized.
  461.  
  462. If no escape sequence is received from the terminal within 10 seconds, resize
  463. terminates.
  464. RAZZLE!DAZZLE
  465. fi    # End CHANGES.resize
  466. if test -f CHANGES.termcap
  467. then
  468.     echo shar: will not overwrite existing file "'CHANGES.termcap'"
  469. else
  470. echo 'x - CHANGES.termcap'
  471. cat << \RAZZLE!DAZZLE > CHANGES.termcap
  472. termcap version X10/6.4
  473. ------- ------- -------
  474.  
  475. This termcap contains the necessary modifications to access the status line
  476. (by sysline, for instance) and to activate the alternate screen buffer when
  477. entering vi.  Multiple insert and delete functions have been added.
  478. RAZZLE!DAZZLE
  479. fi    # End CHANGES.termcap
  480. if test -f ONELINE
  481. then
  482.     echo shar: will not overwrite existing file "'ONELINE'"
  483. else
  484. echo 'x - ONELINE'
  485. cat << \RAZZLE!DAZZLE > ONELINE
  486. This is version X10/6.4 of xterm, the VT102/Tektronix 4014 terminal emulator.
  487. RAZZLE!DAZZLE
  488. fi    # End ONELINE
  489. if test -f README
  490. then
  491.     echo shar: will not overwrite existing file "'README'"
  492. else
  493. echo 'x - README'
  494. cat << \RAZZLE!DAZZLE > README
  495. This is version X10/6.6 of xterm, the VT102/Tektronix 4014 terminal emulator.
  496. This program has been greatly changed and enhanced by:
  497.  
  498.     Edward Moy
  499.     Academic Computing Services
  500.     University of California, Berkeley
  501.  
  502.     edmoy@opal.Berkeley.EDU
  503.     ucbvax!opal!edmoy
  504.  
  505. Notable features in 6.6 include scrollbars, titlebars, new menus and a new
  506. menu package, auto-raising of windows, visual bell, new icons, logging
  507. capability, status line, reverse wraparound and an alternate screen buffer.
  508. A more detailed description can be found in the CHANGES file.
  509.  
  510. Included here are the pre-compiled executables of xterm (and resize) for
  511. the MicroVax (under Ultrix) and for Sun-3s.
  512.  
  513. NOTE:  I am keeping the official SCCS directory on my MicroVax.  Any changes
  514. made here may not appear on later releases unless you tell me about them
  515. and I feel they are useful (I'm fairly reasonable).
  516. RAZZLE!DAZZLE
  517. fi    # End README
  518. if test -f Tekparse.h
  519. then
  520.     echo shar: will not overwrite existing file "'Tekparse.h'"
  521. else
  522. echo 'x - Tekparse.h'
  523. cat << \RAZZLE!DAZZLE > Tekparse.h
  524. /*
  525.  *    $Source: /u1/X/xterm/RCS/Tekparse.h,v $
  526.  *    $Header: Tekparse.h,v 10.100 86/12/01 14:39:07 jg Rel $
  527.  */
  528.  
  529. /* @(#)Tekparse.h       X10/6.6B 12/26/86 */
  530. #define    CASE_REPORT    0
  531. #define    CASE_VT_MODE    (CASE_REPORT + 1)
  532. #define    CASE_SPT_STATE    (CASE_VT_MODE + 1)
  533. #define    CASE_GIN    (CASE_SPT_STATE + 1)
  534. #define    CASE_BEL    (CASE_GIN + 1)
  535. #define    CASE_BS        (CASE_BEL + 1)
  536. #define    CASE_PT_STATE    (CASE_BS + 1)
  537. #define    CASE_PLT_STATE    (CASE_PT_STATE + 1)
  538. #define    CASE_TAB    (CASE_PLT_STATE + 1)
  539. #define    CASE_IPL_STATE    (CASE_TAB + 1)
  540. #define    CASE_ALP_STATE    (CASE_IPL_STATE + 1)
  541. #define    CASE_UP        (CASE_ALP_STATE + 1)
  542. #define    CASE_COPY    (CASE_UP + 1)
  543. #define    CASE_PAGE    (CASE_COPY + 1)
  544. #define    CASE_BES_STATE    (CASE_PAGE + 1)
  545. #define    CASE_BYP_STATE    (CASE_BES_STATE + 1)
  546. #define    CASE_IGNORE    (CASE_BYP_STATE + 1)
  547. #define    CASE_ASCII    (CASE_IGNORE + 1)
  548. #define    CASE_APL    (CASE_ASCII + 1)
  549. #define    CASE_CHAR_SIZE    (CASE_APL + 1)
  550. #define    CASE_BEAM_VEC    (CASE_CHAR_SIZE + 1)
  551. #define    CASE_CURSTATE    (CASE_BEAM_VEC + 1)
  552. #define    CASE_PENUP    (CASE_CURSTATE + 1)
  553. #define    CASE_PENDOWN    (CASE_PENUP + 1)
  554. #define    CASE_IPL_POINT    (CASE_PENDOWN + 1)
  555. #define    CASE_PLT_VEC    (CASE_IPL_POINT + 1)
  556. #define    CASE_PT_POINT    (CASE_PLT_VEC + 1)
  557. #define    CASE_SPT_POINT    (CASE_PT_POINT + 1)
  558. #define    CASE_CR        (CASE_SPT_POINT + 1)
  559. #define    CASE_ESC_STATE    (CASE_CR + 1)
  560. #define    CASE_LF        (CASE_ESC_STATE + 1)
  561. #define    CASE_SP        (CASE_LF + 1)
  562. #define    CASE_PRINT    (CASE_SP + 1)
  563. #define    CASE_OSC    (CASE_PRINT + 1)
  564. RAZZLE!DAZZLE
  565. fi    # End Tekparse.h
  566. if test -f VTparse.h
  567. then
  568.     echo shar: will not overwrite existing file "'VTparse.h'"
  569. else
  570. echo 'x - VTparse.h'
  571. cat << \RAZZLE!DAZZLE > VTparse.h
  572. /*
  573.  *    $Source: /u1/X/xterm/RCS/VTparse.h,v $
  574.  *    $Header: VTparse.h,v 10.101 86/12/01 21:49:38 jg Rel $
  575.  */
  576.  
  577. /* @(#)VTparse.h       X10/6.6B 12/26/86 */
  578. #define    CASE_GROUND_STATE    0
  579. #define    CASE_IGNORE_STATE    (CASE_GROUND_STATE+1)
  580. #define    CASE_IGNORE_ESC        (CASE_IGNORE_STATE+1)
  581. #define    CASE_IGNORE        (CASE_IGNORE_ESC+1)
  582. #define    CASE_BELL        (CASE_IGNORE+1)
  583. #define    CASE_BS            (CASE_BELL+1)
  584. #define    CASE_CR            (CASE_BS+1)
  585. #define    CASE_ESC        (CASE_CR+1)
  586. #define    CASE_VMOT        (CASE_ESC+1)
  587. #define    CASE_TAB        (CASE_VMOT+1)
  588. #define    CASE_SI            (CASE_TAB+1)
  589. #define    CASE_SO            (CASE_SI+1)
  590. #define    CASE_SCR_STATE        (CASE_SO+1)
  591. #define    CASE_SCS0_STATE        (CASE_SCR_STATE+1)
  592. #define    CASE_SCS1_STATE        (CASE_SCS0_STATE+1)
  593. #define    CASE_SCS2_STATE        (CASE_SCS1_STATE+1)
  594. #define    CASE_SCS3_STATE        (CASE_SCS2_STATE+1)
  595. #define    CASE_ESC_IGNORE        (CASE_SCS3_STATE+1)
  596. #define    CASE_ESC_DIGIT        (CASE_ESC_IGNORE+1)
  597. #define    CASE_ESC_SEMI        (CASE_ESC_DIGIT+1)
  598. #define    CASE_DEC_STATE        (CASE_ESC_SEMI+1)
  599. #define    CASE_ICH        (CASE_DEC_STATE+1)
  600. #define    CASE_CUU        (CASE_ICH+1)
  601. #define    CASE_CUD        (CASE_CUU+1)
  602. #define    CASE_CUF        (CASE_CUD+1)
  603. #define    CASE_CUB        (CASE_CUF+1)
  604. #define    CASE_CUP        (CASE_CUB+1)
  605. #define    CASE_ED            (CASE_CUP+1)
  606. #define    CASE_EL            (CASE_ED+1)
  607. #define    CASE_IL            (CASE_EL+1)
  608. #define    CASE_DL            (CASE_IL+1)
  609. #define    CASE_DCH        (CASE_DL+1)
  610. #define    CASE_DA1        (CASE_DCH+1)
  611. #define    CASE_TBC        (CASE_DA1+1)
  612. #define    CASE_SET        (CASE_TBC+1)
  613. #define    CASE_RST        (CASE_SET+1)
  614. #define    CASE_SGR        (CASE_RST+1)
  615. #define    CASE_CPR        (CASE_SGR+1)
  616. #define    CASE_DECSTBM        (CASE_CPR+1)
  617. #define    CASE_SUN_EMU        (CASE_DECSTBM+1)
  618. #define    CASE_DECREQTPARM    (CASE_SUN_EMU+1)
  619. #define    CASE_DECSET        (CASE_DECREQTPARM+1)
  620. #define    CASE_DECRST        (CASE_DECSET+1)
  621. #define    CASE_HIDDEN        (CASE_DECRST+1)
  622. #define    CASE_DECALN        (CASE_HIDDEN+1)
  623. #define    CASE_GSETS        (CASE_DECALN+1)
  624. #define    CASE_DECSC        (CASE_GSETS+1)
  625. #define    CASE_DECRC        (CASE_DECSC+1)
  626. #define    CASE_DECKPAM        (CASE_DECRC+1)
  627. #define    CASE_DECKPNM        (CASE_DECKPAM+1)
  628. #define    CASE_IND        (CASE_DECKPNM+1)
  629. #define    CASE_NEL        (CASE_IND+1)
  630. #define    CASE_HTS        (CASE_NEL+1)
  631. #define    CASE_RI            (CASE_HTS+1)
  632. #define    CASE_SS2        (CASE_RI+1)
  633. #define    CASE_SS3        (CASE_SS2+1)
  634. #define    CASE_CSI_STATE        (CASE_SS3+1)
  635. #define    CASE_OSC        (CASE_CSI_STATE+1)
  636. #define    CASE_RIS        (CASE_OSC+1)
  637. #define    CASE_LS2        (CASE_RIS+1)
  638. #define    CASE_LS3        (CASE_LS2+1)
  639. #define    CASE_LS3R        (CASE_LS3+1)
  640. #define    CASE_LS2R        (CASE_LS3R+1)
  641. #define    CASE_LS1R        (CASE_LS2R+1)
  642. #define    CASE_PRINT        (CASE_LS1R+1)
  643. #define    CASE_TO_STATUS        (CASE_PRINT+1)
  644. #define    CASE_FROM_STATUS    (CASE_TO_STATUS+1)
  645. #define    CASE_SHOW_STATUS    (CASE_FROM_STATUS+1)
  646. #define    CASE_HIDE_STATUS    (CASE_SHOW_STATUS+1)
  647. #define    CASE_ERASE_STATUS    (CASE_HIDE_STATUS+1)
  648. #define    CASE_XTERM_SAVE        (CASE_ERASE_STATUS+1)
  649. #define    CASE_XTERM_RESTORE    (CASE_XTERM_SAVE+1)
  650. RAZZLE!DAZZLE
  651. fi    # End VTparse.h
  652. if test -f bottom.ic
  653. then
  654.     echo shar: will not overwrite existing file "'bottom.ic'"
  655. else
  656. echo 'x - bottom.ic'
  657. cat << \RAZZLE!DAZZLE > bottom.ic
  658. /* @(#)bottom.ic       X10/6.6B 12/26/86 */
  659. #define bottom_width 19
  660. #define bottom_height 19
  661. static short bottom_bits[] = {
  662.    0x0000, 0x0000, 0x0000, 0x0000,
  663.    0x0000, 0x0000, 0x8008, 0x0000,
  664.    0x8008, 0x0000, 0x8008, 0x0000,
  665.    0x8008, 0x0000, 0x8008, 0x0000,
  666.    0x8708, 0x0000, 0x8708, 0x0000,
  667.    0x9fc8, 0x0000, 0x8f88, 0x0000,
  668.    0x8708, 0x0000, 0x8208, 0x0000,
  669.    0xfff8, 0x0000, 0xfff8, 0x0000,
  670.    0x0000, 0x0000, 0x0000, 0x0000,
  671.    0x0000, 0x0000};
  672. RAZZLE!DAZZLE
  673. fi    # End bottom.ic
  674. if test -f button.ic
  675. then
  676.     echo shar: will not overwrite existing file "'button.ic'"
  677. else
  678. echo 'x - button.ic'
  679. cat << \RAZZLE!DAZZLE > button.ic
  680. /* @(#)button.ic       X10/6.6B 12/26/86 */
  681. #define button_width 19
  682. #define button_height 19
  683. static short button_bits[] = {
  684.    0x0000, 0x0000, 0x0000, 0x0000,
  685.    0x0000, 0x0000, 0x0200, 0x0000,
  686.    0x0700, 0x0000, 0x0f80, 0x0000,
  687.    0x1fc0, 0x0000, 0x0700, 0x0000,
  688.    0x0700, 0x0000, 0x0000, 0x0000,
  689.    0x0700, 0x0000, 0x0700, 0x0000,
  690.    0x1fc0, 0x0000, 0x0f80, 0x0000,
  691.    0x0700, 0x0000, 0x0200, 0x0000,
  692.    0x0000, 0x0000, 0x0000, 0x0000,
  693.    0x0000, 0x0000};
  694. RAZZLE!DAZZLE
  695. fi    # End button.ic
  696. if test -f dark.ic
  697. then
  698.     echo shar: will not overwrite existing file "'dark.ic'"
  699. else
  700. echo 'x - dark.ic'
  701. cat << \RAZZLE!DAZZLE > dark.ic
  702. /* @(#)dark.ic       X10/6.6B 12/26/86 */
  703. #define dark_width 16
  704. #define dark_height 16
  705. static short dark_bits[] = {
  706.    0xeeee, 0xffff, 0xbbbb, 0xffff,
  707.    0xeeee, 0xffff, 0xbbbb, 0xffff,
  708.    0xeeee, 0xffff, 0xbbbb, 0xffff,
  709.    0xeeee, 0xffff, 0xbbbb, 0xffff};
  710. RAZZLE!DAZZLE
  711. fi    # End dark.ic
  712. if test -f data.h
  713. then
  714.     echo shar: will not overwrite existing file "'data.h'"
  715. else
  716. echo 'x - data.h'
  717. cat << \RAZZLE!DAZZLE > data.h
  718. /*
  719.  *    $Source: /u1/X/xterm/RCS/data.h,v $
  720.  *    $Header: data.h,v 10.101 86/12/01 16:57:37 swick Rel $
  721.  */
  722.  
  723. /* @(#)data.h       X10/6.6B 12/26/86 */
  724. extern Pixmap B_Pixmap;
  725. extern Pixmap W_Pixmap;
  726. extern TekLink *TekRefresh;
  727. extern Terminal term;
  728. extern Vertex T_box2[];
  729. extern Vertex T_box3[];
  730. extern Vertex T_boxlarge[];
  731. extern Vertex T_boxsmall[];
  732. extern Vertex T_boxicon[];
  733. extern Vertex VTbox[];
  734. extern Vertex icon_box[];
  735. extern T_fontsize Tfontsize[];
  736. extern Vertex status_box[];
  737. extern char *T_geometry;
  738. extern char *Tbptr;
  739. extern char *Tbuffer;
  740. extern char *Tpushb;
  741. extern char *Tpushback;
  742. extern char *back_color;
  743. extern char *bptr;
  744. extern char *curs_color;
  745. extern char *f_b;
  746. extern char *f_n;
  747. extern char *f_i;
  748. extern char *f_t;
  749. extern char *fore_color;
  750. extern char *geo_metry;
  751. extern char *icon_geom;
  752. extern char log_def_name[];
  753. extern char *mous_color;
  754. extern char *ptydev;
  755. extern char *ttydev;
  756. extern char *win_name;
  757. extern char *xterm_name;
  758. extern char buffer[];
  759. extern int B_Pixel;
  760. extern int L_flag;
  761. extern int Select_mask;
  762. extern int T_lastx;
  763. extern int T_lasty;
  764. extern int Tbcnt;
  765. extern int Ttoggled;
  766. extern int W_Pixel;
  767. extern int X_mask;
  768. extern int am_slave;
  769. extern int bcnt;
  770. #ifdef DEBUG
  771. extern int debug;
  772. #endif DEBUG
  773. extern int errno;
  774. extern int max_plus1;
  775. extern int n_marginbell;
  776. extern int pty_mask;
  777. extern int re_verse;
  778. extern int save_lines;
  779. extern int switchfb[];
  780. extern jmp_buf Tekend;
  781. extern jmp_buf VTend;
  782. RAZZLE!DAZZLE
  783. fi    # End data.h
  784. if test -f downline.ic
  785. then
  786.     echo shar: will not overwrite existing file "'downline.ic'"
  787. else
  788. echo 'x - downline.ic'
  789. cat << \RAZZLE!DAZZLE > downline.ic
  790. /* @(#)downline.ic       X10/6.6B 12/26/86 */
  791. #define downline_width 19
  792. #define downline_height 19
  793. static short downline_bits[] = {
  794.    0x0000, 0x0000, 0x0000, 0x0000,
  795.    0x0000, 0x0000, 0x0000, 0x0000,
  796.    0xef78, 0x0000, 0x0000, 0x0000,
  797.    0xdbb8, 0x0000, 0x0000, 0x0000,
  798.    0x0000, 0x0000, 0x0700, 0x0000,
  799.    0x0700, 0x0000, 0x1fc0, 0x0000,
  800.    0x0f80, 0x0000, 0x0700, 0x0000,
  801.    0x0200, 0x0000, 0x0000, 0x0000,
  802.    0x0000, 0x0000, 0x0000, 0x0000,
  803.    0x0000, 0x0000};
  804. RAZZLE!DAZZLE
  805. fi    # End downline.ic
  806. if test -f downpage.ic
  807. then
  808.     echo shar: will not overwrite existing file "'downpage.ic'"
  809. else
  810. echo 'x - downpage.ic'
  811. cat << \RAZZLE!DAZZLE > downpage.ic
  812. /* @(#)downpage.ic       X10/6.6B 12/26/86 */
  813. #define downpage_width 19
  814. #define downpage_height 19
  815. static short downpage_bits[] = {
  816.    0x0000, 0x0000, 0x0000, 0x0000,
  817.    0x0000, 0x0000, 0x7f00, 0x0000,
  818.    0x4180, 0x0000, 0x4140, 0x0000,
  819.    0x4120, 0x0000, 0x41f0, 0x0000,
  820.    0x4710, 0x0000, 0x4710, 0x0000,
  821.    0x5fd0, 0x0000, 0x4f90, 0x0000,
  822.    0x4710, 0x0000, 0x4210, 0x0000,
  823.    0x4010, 0x0000, 0x7ff0, 0x0000,
  824.    0x0000, 0x0000, 0x0000, 0x0000,
  825.    0x0000, 0x0000};
  826. RAZZLE!DAZZLE
  827. fi    # End downpage.ic
  828. if test -f error.h
  829. then
  830.     echo shar: will not overwrite existing file "'error.h'"
  831. else
  832. echo 'x - error.h'
  833. cat << \RAZZLE!DAZZLE > error.h
  834. /*
  835.  *    $Source: /u1/X/xterm/RCS/error.h,v $
  836.  *    $Header: error.h,v 10.100 86/12/01 14:39:28 jg Rel $
  837.  */
  838.  
  839. /* @(#)error.h       X10/6.6B 12/26/86 */
  840. /* main.c */
  841. #define    ERROR_KMALLOC    10    /* main: malloc() failed for keyboardtype */
  842. #define    ERROR_FIONBIO    11    /* main: ioctl() failed on FIONBIO */
  843. #define    ERROR_TSLOT    12    /* spawn: tslot() failed and getty */
  844. #define    ERROR_TSLOT2    13    /* spawn: tslot() failed and am_slave */
  845. #define    ERROR_OPDEVTTY    14    /* spawn: open() failed on /dev/tty */
  846. #define    ERROR_TIOCGETP    15    /* spawn: ioctl() failed on TIOCGETP */
  847. #define    ERROR_TIOCGETC    16    /* spawn: ioctl() failed on TIOCGETC */
  848. #define    ERROR_TIOCGETD    17    /* spawn: ioctl() failed on TIOCGETD */
  849. #define    ERROR_TIOCGLTC    18    /* spawn: ioctl() failed on TIOCGLTC */
  850. #define    ERROR_TIOCLGET    19    /* spawn: ioctl() failed on TIOCLGET */
  851. #define    ERROR_TIOCCONS    20    /* spawn: ioctl() failed on TIOCCONS */
  852. #define    ERROR_OPDEVTTY2    21    /* spawn: second open() failed on /dev/tty */
  853. #define    ERROR_NOTTY    22    /* spawn: ioctl() failed on TIOCNOTTY */
  854. #define    ERROR_TIOCSETP    23    /* spawn: ioctl() failed on TIOCSETP */
  855. #define    ERROR_TIOCSETC    24    /* spawn: ioctl() failed on TIOCSETC */
  856. #define    ERROR_TIOCSETD    25    /* spawn: ioctl() failed on TIOCSETD */
  857. #define    ERROR_TIOCSLTC    26    /* spawn: ioctl() failed on TIOCSLTC */
  858. #define    ERROR_TIOCLSET    27    /* spawn: ioctl() failed on TIOCLSET */
  859. #define    ERROR_TSLOT3    28    /* spawn: tslot() failed  */
  860. #define    ERROR_FORK    29    /* spawn: fork() failed */
  861. #define    ERROR_EXEC    30    /* spawn: exec() failed */
  862. #define    ERROR_OPDEVTTY3    31    /* spawn: third open() failed on /dev/tty */
  863. #define    ERROR_PTYS    32    /* get_pty: not enough ptys */
  864. #define    ERROR_NOX    33    /* get_terminal: can't connect to server */
  865. #define    ERROR_NOX2    34    /* get_terminal: can't connect and getty */
  866. #define    ERROR_TITLEFONT    35    /* get_terminal: can't open title font */
  867. #define    ERROR_INIT    36    /* spawn: can't initialize window */
  868. #define    ERROR_NOCO    37    /* resize: no `co' in termcap */
  869. #define    ERROR_NOLI    38    /* resize: no `li' in termcap */
  870. #define    ERROR_BORDER    39    /* get_terminal: can't make border tile */
  871. #define    ERROR_BACK    40    /* get_terminal: can't make background tile */
  872. /* charproc.c */
  873. #define    ERROR_SELECT    50    /* in_put: select() failed */
  874. #define    ERROR_CRTITLE    51    /* VTTitleInit: XCreateWindow() failed */
  875. #define    ERROR_HILITE    52    /* VTTitleInit: make_hilite() failed */
  876. #define    ERROR_CRLFRG    53    /* VTTitleInit: XCreateWindows() failed */
  877. #define    ERROR_VINIT    54    /* VTInit: can't initialize window */
  878. #define    ERROR_RTMALLOC1    55    /* VTRetitle: malloc failed */
  879. #define    ERROR_RTMALLOC2    56    /* VTRetitle: malloc failed */
  880. /* Tekproc.c */
  881. #define    ERROR_TSELECT    60    /* Tinput: select() failed */
  882. #define    ERROR_TCRTITLE    61    /* TekTitleInit: XCreateWindow() failed */
  883. #define    ERROR_THILITE    62    /* TekTitleInit: make_hilite() failed */
  884. #define    ERROR_TCRLFRG    63    /* TekTitleInit: XCreateWindows() failed */
  885. #define    ERROR_TINIT    64    /* TekInit: can't initialize window */
  886. #define    ERROR_TBACK    65    /* TekBackground: can't make background */
  887. #define    ERROR_TWINNAME    66    /* TekInit: malloc failed */
  888. /* button.c */
  889. #define    ERROR_BMALLOC    70    /* GetRestOfLine: malloc() failed */
  890. #define    ERROR_BMALLOC2    71    /* SaltTextAway: malloc() failed */
  891. /* misc.c */
  892. #define    ERROR_LOGEXEC    80    /* StartLog: exec() failed */
  893. #define    ERROR_OPENBITMAP 81    /* IconInit: XReadBitmapFile returns zero */
  894. #define    ERROR_SYNTAXBITMAP 82    /* IconInit: XReadBitmapFile returns negative */
  895. #define    ERROR_XERROR    83    /* xerror: XError event */
  896. #define    ERROR_XIOERROR    84    /* xioerror: X I/O error */
  897. #define    ERROR_WINNAME    85    /* IconInit: malloc failed */
  898. /* screen.c */
  899. #define    ERROR_SCALLOC    90    /* Alloc: calloc() failed on base */
  900. #define    ERROR_SCALLOC2    91    /* Alloc: calloc() failed on rows */
  901. #define    ERROR_SREALLOC    92    /* ScreenResize: realloc() failed on alt base */
  902. #define    ERROR_SREALLOC2    93    /* ScreenResize: realloc() failed on alt rows */
  903. #define    ERROR_SREALLOC3    94    /* ScreenResize: realloc() failed on rows */
  904. #define    ERROR_SREALLOC4    95    /* ScreenResize: realloc() failed on rows */
  905. #define    ERROR_RESIZE    96    /* ScreenResize: malloc() or realloc() failed */
  906. #define    ERROR_RESIZE2    97    /* ScreenResize: malloc() or realloc() failed */
  907. #define    ERROR_RESIZROW    98    /* ScreenResize: realloc() failed on alt char */
  908. #define    ERROR_RESIZROW2    99    /* ScreenResize: realloc() failed on alt attr */
  909. #define    ERROR_RESIZROW3    100    /* ScreenResize: realloc() failed on attr */
  910. #define    ERROR_RESIZROW4    101    /* ScreenResize: realloc() failed on attr */
  911. /* scrollbar.c */
  912. #define    ERROR_SBRALLOC    110    /* ScrollBarOn: realloc() failed on base */
  913. #define    ERROR_SBRALLOC2    111    /* ScrollBarOn: realloc() failed on rows */
  914. /* util.c */
  915. #define    ERROR_UBACK    120    /* ReverseVideo: can't make background */
  916. RAZZLE!DAZZLE
  917. fi    # End error.h
  918. if test -f gray.ic
  919. then
  920.     echo shar: will not overwrite existing file "'gray.ic'"
  921. else
  922. echo 'x - gray.ic'
  923. cat << \RAZZLE!DAZZLE > gray.ic
  924. /* @(#)gray.ic       X10/6.6B 12/26/86 */
  925. #define gray_width 16
  926. #define gray_height 16
  927. static short gray_bits[] = {
  928.    0x5555, 0xaaaa, 0x5555, 0xaaaa,
  929.    0x5555, 0xaaaa, 0x5555, 0xaaaa,
  930.    0x5555, 0xaaaa, 0x5555, 0xaaaa,
  931.    0x5555, 0xaaaa, 0x5555, 0xaaaa};
  932. RAZZLE!DAZZLE
  933. fi    # End gray.ic
  934. if test -f hilite.ic
  935. then
  936.     echo shar: will not overwrite existing file "'hilite.ic'"
  937. else
  938. echo 'x - hilite.ic'
  939. cat << \RAZZLE!DAZZLE > hilite.ic
  940. /* @(#)hilite.ic       X10/6.6B 12/26/86 */
  941. #define hilite_width 16
  942. #define hilite_height 16
  943. static short hilite_bits[] = {
  944.    0xffff, 0x0000, 0xffff, 0x0000,
  945.    0xffff, 0x0000, 0xffff, 0x0000,
  946.    0xffff, 0x0000, 0xffff, 0x0000,
  947.    0xffff, 0x0000, 0xffff, 0x0000};
  948. RAZZLE!DAZZLE
  949. fi    # End hilite.ic
  950. if test -f icon.ic
  951. then
  952.     echo shar: will not overwrite existing file "'icon.ic'"
  953. else
  954. echo 'x - icon.ic'
  955. cat << \RAZZLE!DAZZLE > icon.ic
  956. /* @(#)icon.ic       X10/6.6B 12/26/86 */
  957. #define icon_width 32
  958. #define icon_height 24
  959. static short icon_bits[] = {
  960.    0xffff, 0xffff, 0x5001, 0x8005,
  961.    0xaffd, 0xbffa, 0x5001, 0x8005,
  962.    0xffff, 0xffff, 0x0001, 0xd800,
  963.    0xf33d, 0xa866, 0x0001, 0xf800,
  964.    0x9e71, 0xa8f3, 0x0001, 0xd800,
  965.    0xe77d, 0xf838, 0x0001, 0x8800,
  966.    0x7339, 0x883d, 0x0001, 0x8800,
  967.    0xde7d, 0x8873, 0x0001, 0x8800,
  968.    0xfbb1, 0xd8f6, 0x0001, 0xa800,
  969.    0x77bd, 0xd8ef, 0x0001, 0xa800,
  970.    0xbbb9, 0xd877, 0x0001, 0xa800,
  971.    0x0001, 0xd800, 0xffff, 0xffff};
  972. RAZZLE!DAZZLE
  973. fi    # End icon.ic
  974. if test -f light.ic
  975. then
  976.     echo shar: will not overwrite existing file "'light.ic'"
  977. else
  978. echo 'x - light.ic'
  979. cat << \RAZZLE!DAZZLE > light.ic
  980. /* @(#)light.ic       X10/6.6B 12/26/86 */
  981. #define light_width 16
  982. #define light_height 16
  983. static short light_bits[] = {
  984.    0x1111, 0x0000, 0x4444, 0x0000,
  985.    0x1111, 0x0000, 0x4444, 0x0000,
  986.    0x1111, 0x0000, 0x4444, 0x0000,
  987.    0x1111, 0x0000, 0x4444, 0x0000};
  988. RAZZLE!DAZZLE
  989. fi    # End light.ic
  990. if test -f ptyx.h
  991. then
  992.     echo shar: will not overwrite existing file "'ptyx.h'"
  993. else
  994. echo 'x - ptyx.h'
  995. cat << \RAZZLE!DAZZLE > ptyx.h
  996. /*
  997.  *    $Source: /u1/X/xterm/RCS/ptyx.h,v $
  998.  *    $Header: ptyx.h,v 10.101 86/12/01 16:57:15 swick Rel $
  999.  */
  1000.  
  1001. #include <X/mit-copyright.h>
  1002.  
  1003. /*    Copyright    Massachusetts Institute of Technology    1984, 1985 */
  1004.  
  1005. /* ptyx.h */
  1006. /* @(#)ptyx.h       X10/6.6B 12/26/86 */
  1007.  
  1008. #define    FALSE        0
  1009. #define    TRUE        1
  1010.  
  1011. #define MAX_COLS    200
  1012. #define MAX_ROWS    128
  1013.  
  1014. /*
  1015.  * The origin of a screen is 0, 0.  Therefore, the number of rows
  1016.  * on a screen is screen->max_row + 1, and similarly for columns.
  1017.  */
  1018.  
  1019. typedef char **ScrnBuf;
  1020.  
  1021. /*
  1022.  * ANSI emulation.
  1023.  */
  1024. #define INQ    0x05
  1025. #define    FF    0x0C            /* C0, C1 control names        */
  1026. #define    LS1    0x0E
  1027. #define    LS0    0x0F
  1028. #define    CAN    0x18
  1029. #define    SUB    0x1A
  1030. #define    ESC    0x1B
  1031. #define US    0x1F
  1032. #define    DEL    0x7F
  1033. #define HTS     ('H'+0x40')
  1034. #define    SS2    0x8E
  1035. #define    SS3    0x8F
  1036. #define    DCS    0x90
  1037. #define    OLDID    0x9A            /* ESC Z            */
  1038. #define    CSI    0x9B
  1039. #define    ST    0x9C
  1040. #define    OSC    0x9D
  1041. #define    PM    0x9E
  1042. #define    APC    0x9F
  1043. #define    RDEL    0xFF
  1044.  
  1045. #define    NBOX    5            /* Number of Vertices in box    */
  1046. #define    NPARAM    10            /* Max. parameters        */
  1047.  
  1048. #define    MINHILITE    32
  1049. #define    TITLEPAD    4
  1050.  
  1051. typedef struct {
  1052.     unsigned char    a_type;
  1053.     unsigned char    a_pintro;
  1054.     unsigned char    a_final;
  1055.     unsigned char    a_inters;
  1056.     char    a_nparam;        /* # of parameters        */
  1057.     char    a_dflt[NPARAM];        /* Default value flags        */
  1058.     short    a_param[NPARAM];    /* Parameters            */
  1059.     char    a_nastyf;        /* Error flag            */
  1060. } ANSI;
  1061.  
  1062. typedef struct {
  1063.     int        row;
  1064.     int        col;
  1065.     unsigned    flags;    /* Vt100 saves graphics rendition. Ugh! */
  1066.     char        curgl;
  1067.     char        curgr;
  1068.     char        gsets[4];
  1069. } SavedCursor;
  1070.  
  1071. #define    TEKNUMFONTS    5
  1072. /* Actually there are 5 types of lines, but four are non-solid lines */
  1073. #define    TEKNUMLINES    4
  1074.  
  1075. typedef struct {
  1076.     int    x;
  1077.     int    y;
  1078.     int    fontsize;
  1079.     int    linetype;
  1080. } Tmodes;
  1081.  
  1082. typedef struct {
  1083.     int Twidth;
  1084.     int Theight;
  1085. } T_fontsize;
  1086.  
  1087. typedef struct {
  1088.     Window tbar;            /* major window            */
  1089.     Window left;            /* left hilited window        */
  1090.     Window right;            /* right hilited window        */
  1091.     int hilited;            /* in hilite state        */
  1092.     int x;                /* x position of title        */
  1093.     int y;                /* y position of title        */
  1094.     int fullwidth;            /* full width of title        */
  1095.     int width;            /* width of visible part of title */
  1096. } TitleBar;
  1097.  
  1098. typedef struct {
  1099.     short *bits;
  1100.     int x;
  1101.     int y;
  1102.     int width;
  1103.     int height;
  1104. } BitmapBits;
  1105.  
  1106. typedef struct {
  1107. /* These parameters apply to both windows */
  1108.     Display        *display;    /* X display for screen        */
  1109.     int        respond;    /* socket for responses
  1110.                        (position report, etc.)    */
  1111.     long        pid;        /* pid of process on far side   */
  1112.     int        uid;        /* user id of actual person    */
  1113.     int        gid;        /* group id of actual person    */
  1114.     int        color;        /* colors used            */
  1115.     int        foreground;    /* foreground color        */
  1116.     int        background;    /* Background color        */
  1117.     int        cursorcolor;    /* Cursor color            */
  1118.     int        mousecolor;    /* Mouse color            */
  1119.     Pixmap        bgndtile;    /* background tile pixmap    */
  1120.     int        border;        /* inner border            */
  1121.     int             borderwidth;    /* outer border                    */
  1122.     Pixmap        bordertile;    /* tile pixmap for border    */
  1123.     Pixmap        graybordertile;    /* tile pixmap for border when
  1124.                         window is unselected    */
  1125.     Cursor        arrow;        /* arrow cursor            */
  1126.     unsigned short    send_mouse_pos;    /* user wants mouse transition  */
  1127.                     /* and position information    */
  1128.     int        select;        /* xterm selected        */
  1129.     struct timeval    *timeout;    /* timeout value for select    */
  1130.     FontInfo    *titlefont;    /* font info for title font    */
  1131.     int        titleheight;    /* height of title        */
  1132.     int        title_n_size;    /* width on 'n' in title font    */
  1133.     Pixmap        hilitetile;    /* tile pixmap for title hilite    */
  1134.     int        autoraise;    /* auto raise window mode    */
  1135.     Window        autowindow;    /* the window to autoraise    */
  1136.     int        timer;        /* timer function        */
  1137.     int        holdoff;    /* delay select and unselects    */
  1138.     int        visualbell;    /* visual bell mode        */
  1139.     int        icon_show;    /* icon currently showing    */
  1140.         int             textundericon;  /* text under icon              */
  1141.         int             bitmapwidth;    /* width of icon bitmap         */
  1142.         int             bitmapheight;   /* height of icon bitmap        */
  1143.         int             icon_text_x;    /* x position of text           */
  1144.         int             icon_text_y;    /* y position of text           */
  1145.     BitmapBits    iconbitmap;    /* bitmap for icon        */
  1146.         int             iconinput;      /* got input while iconified    */
  1147.     int        active_icon;    /* icon is miniature copy    */
  1148.     int        deiconwarp;    /* warp mouse on deiconify    */
  1149.     int        logging;    /* logging mode            */
  1150.     int        logfd;        /* file descriptor of log    */
  1151.     char        *logfile;    /* log file name        */
  1152.     char        *logstart;    /* current start of log buffer    */
  1153.     int        inhibit;    /* flags for inhibiting changes    */
  1154.  
  1155. /* VT window parameters */
  1156.     int        show;        /* window showing        */
  1157.     int        iconunmap;    /* unmapped because of icon    */
  1158.     struct {
  1159.         Window    window;        /* X window id            */
  1160.         int    width;        /* width of columns        */
  1161.         int    height;        /* height of rows        */
  1162.         int    fullwidth;    /* full width of window        */
  1163.         int    fullheight;    /* full height of window    */
  1164.         int    f_width;    /* width of fonts in pixels    */
  1165.         int    f_height;    /* height of fonts in pixels    */
  1166.         int    titlebar;    /* title bar(s) showing        */
  1167.     } fullVwin, iconVwin, *mappedVwin;
  1168.     Font        fnt_icon;    /* icon font            */
  1169.     int        minrows;    /* minimun number of rows to
  1170.                         accommodate scrollbar    */
  1171.     Cursor        curs;        /* cursor resource from X    */
  1172.     /* Terminal fonts must be of the same size and of fixed width */
  1173.     Font        fnt_norm;    /* normal font of terminal    */
  1174.     Font        fnt_bold;    /* bold font of terminal    */
  1175.     int        enbolden;    /* overstrike for bold font    */
  1176.     Vertex        *box;        /* draw unselected cursor    */
  1177.  
  1178.     int        cursor_state;    /* ON or OFF            */
  1179.     int        cursor_set;    /* requested state        */
  1180.     int        cursor_col;    /* previous cursor column    */
  1181.     int        cursor_row;    /* previous cursor row        */
  1182.     int        cur_col;    /* current cursor column    */
  1183.     int        cur_row;    /* current cursor row        */
  1184.     int        max_col;    /* rightmost column        */
  1185.     int        max_row;    /* bottom row            */
  1186.     int        top_marg;    /* top line of scrolling region */
  1187.     int        bot_marg;    /* bottom line of  "        "    */
  1188.     int        scrollbar;    /* if > 0, width of scrollbar, and
  1189.                         scrollbar showing    */
  1190.     int        topline;    /* line number of top, <= 0    */
  1191.     int        savelines;    /* number of lines off top to save */
  1192.     int        scrollinput;    /* scroll to bottom on input    */
  1193.     int        scrollkey;    /* scroll to bottom on key    */
  1194.     
  1195.     ScrnBuf        buf;        /* screen buffer (main)        */
  1196.     ScrnBuf        allbuf;        /* screen buffer (may include
  1197.                        lines scrolled off top    */
  1198.     ScrnBuf        altbuf;        /* alternate screen buffer    */
  1199.     int        alternate;    /* true if using alternate buf    */
  1200.     ScrollBar    *sb;        /* pointer to scrollbar struct    */
  1201.     unsigned short    do_wrap;    /* true if cursor in last column
  1202.                        and character just output    */
  1203.     int        incopy;        /* 0 if no RasterCopy exposure
  1204.                        event processed since last
  1205.                        RasterCopy            */
  1206.     int        c132;        /* allow change to 132 columns    */
  1207.     int        curses;        /* cludge-ups for more and vi    */
  1208.     int        marginbell;    /* true if margin bell on    */
  1209.     int        nmarginbell;    /* columns from right margin    */
  1210.     int        bellarmed;    /* cursor below bell margin    */
  1211. #ifdef CROCKSCROLL
  1212.     int        scrollincr;    /* scroll increment        */
  1213. #endif
  1214.     unsigned int    multiscroll;    /* true if multi-scroll        */
  1215.     int        scrolls;    /* outstanding scroll count    */
  1216.     SavedCursor    sc;        /* data for restore cursor    */
  1217.     TitleBar    title;        /* title bar            */
  1218.     int        statusline;    /* status line showing        */
  1219.     int        statusheight;    /* status line height        */
  1220.     int        instatus;    /* cursor in status line    */
  1221.     SavedCursor    statussc;    /* status line restore cursor    */
  1222.     int        reversestatus;    /* status line reversed        */
  1223.     char        *winname;    /* name of window (and icons)    */
  1224.     int        winnamelen;    /* length of window name    */
  1225.     int        save_modes[19];    /* save dec private modes    */
  1226.     int        pagemode;    /* true if page mode        */
  1227.     int        pagecnt;    /* count of lines in page mode    */
  1228.     int        pageoverlap;    /* lines to overlap (less one)    */
  1229.  
  1230.     /* Improved VT100 emulation stuff.                */
  1231.     char        gsets[4];    /* G0 through G3.        */
  1232.     char        curgl;        /* Current GL setting.        */
  1233.     char        curgr;        /* Current GR setting.        */
  1234.     char        curss;        /* Current single shift.    */
  1235.     int        scroll_amt;    /* amount to scroll        */
  1236.     int        refresh_amt;    /* amount to refresh        */
  1237.     int        jumpscroll;    /* whether we should jumpscroll */
  1238.  
  1239. /* Tektronix window parameters */
  1240.     int        Tforeground;    /* foreground color        */
  1241.     int        Tbackground;    /* Background color        */
  1242.     int        Tcursorcolor;    /* Cursor color            */
  1243.     Pixmap        Tbgndtile;    /* background tile pixmap    */
  1244.     int        Tcolor;        /* colors used            */
  1245.     int        planeused;    /* is xorplane being used    */
  1246.     int        cellsused;    /* are color cells being used    */
  1247.     Color        colorcells[3];    /* color cells for Tek        */
  1248.     int        Tshow;        /* Tek window showing        */
  1249.     int        Ticonunmap;    /* unmapped because of icon    */
  1250.     int        waitrefresh;    /* postpone refresh        */
  1251.     struct {
  1252.         Window    window;        /* X window id            */
  1253.         int    width;        /* width of columns        */
  1254.         int    height;        /* height of rows        */
  1255.         int    fullwidth;    /* full width of window        */
  1256.         int    fullheight;    /* full height of window    */
  1257.         int    titlebar;    /* title bar(s) showing        */
  1258.         double    tekscale;    /* scale factor Tek -> vs100    */
  1259.     } fullTwin, iconTwin, *mappedTwin;
  1260.     BitmapBits    Ticonbitmap;    /* bitmap for icon        */
  1261.     Vertex        **Tbox;        /* draw unselected cursor    */
  1262.     int        xorplane;    /* z plane for inverts        */
  1263.     Pattern        linepat[TEKNUMLINES]; /* line patterns        */
  1264.     Font        Tfont[TEKNUMFONTS]; /* Tek fonts        */
  1265.     int        tobaseline[TEKNUMFONTS]; /* top to baseline for
  1266.                             each font    */
  1267.     int        TekEmu;        /* true if Tektronix emulation    */
  1268.     int        cur_X;        /* current x            */
  1269.     int        cur_Y;        /* current y            */
  1270.     Tmodes        cur;        /* current tek modes        */
  1271.     Tmodes        page;        /* starting tek modes on page    */
  1272.     int        margin;        /* 0 -> margin 1, 1 -> margin 2    */
  1273.     int        pen;        /* current Tektronix pen 0=up, 1=dn */
  1274.     char        *TekGIN;    /* nonzero if Tektronix GIN mode*/
  1275.     TitleBar    Ttitle;        /* title bar            */
  1276.     char        *Twinname;    /* name of window        */
  1277.     int        Twinnamelen;    /* length of window name    */
  1278. } Screen;
  1279.  
  1280. /* meaning of bits in screen.select flag */
  1281. #define    INWINDOW    01    /* the mouse is in one of the windows */
  1282. #define    FOCUS        02    /* one of the windows is the focus window */
  1283.  
  1284. typedef struct
  1285. {
  1286.     unsigned    offset;        /* status of shift, control, meta */
  1287. #define SHIFT    0x0001
  1288. #define META    0x0002
  1289. #define CONTROL    0x0004
  1290.  
  1291.     unsigned    flags;
  1292. } Keyboard;
  1293.  
  1294. /* define masks for flags */
  1295. #define CAPS_LOCK    0x01
  1296. #define KYPD_APL    0x02
  1297. #define CURSOR_APL    0x04
  1298.  
  1299.  
  1300. #define N_MARGINBELL    10
  1301. #define MAX_TABS    320
  1302. #define TAB_ARRAY_SIZE    10    /* number of ints to provide MAX_TABS bits */
  1303.  
  1304. typedef unsigned Tabs [TAB_ARRAY_SIZE];
  1305.  
  1306.  
  1307. #define BUF_SIZE 4096
  1308.  
  1309. typedef struct
  1310. {
  1311.     Keyboard    keyboard;    /* terminal keyboard        */
  1312.     Screen        screen;        /* terminal screeen        */
  1313.     unsigned    flags;        /* mode flags            */
  1314.     unsigned    initflags;    /* initial mode flags        */
  1315.     Tabs        tabs;        /* tabstops of the terminal    */
  1316. } Terminal;
  1317.  
  1318.  
  1319. /* masks for terminal flags */
  1320.  
  1321. #define INVERSE        0x01    /* invert the characters to be output */
  1322. #define UNDERLINE    0x02    /* true if underlining */
  1323. #define BOLD        0x04
  1324. #define WRAPAROUND    0x08
  1325. #define REVERSE_VIDEO    0x10    /* true if screen white on black */
  1326. #define ORIGIN        0x20    /* true if in origin mode */
  1327. #define INSERT        0x40    /* true if in insert mode */
  1328. #define SMOOTHSCROLL    0x80    /* true if in smooth scroll mode */
  1329. #define AUTOREPEAT    0x100    /* true if in autorepeat mode */
  1330. #define IN132COLUMNS    0x200    /* true if in 132 column mode */
  1331. #define LINEFEED    0x400
  1332. #define    REVERSEWRAP    0x800    /* true if reverse wraparound mode */
  1333. #define ICONINPUT    0x1000    /* true if mini icon accepts kbd input */
  1334.  
  1335. #define    ATTRIBUTES    0x07    /* attributes mask */
  1336. #define CHAR        0177
  1337.  
  1338. #define VWindow(screen)        (screen->mappedVwin->window)
  1339. #define TWindow(screen)        (screen->mappedTwin->window)
  1340. #define Width(screen)        (screen->mappedVwin->width)
  1341. #define Height(screen)        (screen->mappedVwin->height)
  1342. #define FullWidth(screen)    (screen->mappedVwin->fullwidth)
  1343. #define FullHeight(screen)    (screen->mappedVwin->fullheight)
  1344. #define FontWidth(screen)    (screen->mappedVwin->f_width)
  1345. #define FontHeight(screen)    (screen->mappedVwin->f_height)
  1346. #define TWidth(screen)        (screen->mappedTwin->width)
  1347. #define THeight(screen)        (screen->mappedTwin->height)
  1348. #define TFullWidth(screen)    (screen->mappedTwin->fullwidth)
  1349. #define TFullHeight(screen)    (screen->mappedTwin->fullheight)
  1350. #define TekScale(screen)    (screen->mappedTwin->tekscale)
  1351. #define Titlebar(screen)    (screen->mappedVwin->titlebar)
  1352. #define TTitlebar(screen)    (screen->mappedTwin->titlebar)
  1353. #define ActiveIcon(screen)    (screen->active_icon && \
  1354.                 (screen->mappedVwin == &screen->iconVwin))
  1355. #define TActiveIcon(screen)    (screen->active_icon && \
  1356.                 (screen->mappedTwin == &screen->iconTwin))
  1357.  
  1358. #define CursorX(screen,col) ((col) * FontWidth(screen) + screen->border)
  1359. #define CursorY(screen,row) ((screen->instatus ? \
  1360.             ((row) * FontHeight(screen) + 1)\
  1361.             : (((row) - screen->topline) * FontHeight(screen))) +\
  1362.             screen->border + Titlebar(screen))
  1363.  
  1364. #define TICONWINDOWEVENTS  (ExposeWindow | ButtonPressed)
  1365.  
  1366. #define    ICONWINDOWEVENTS   (TICONWINDOWEVENTS | ExposeRegion | ExposeCopy)
  1367.                  
  1368. #define ICONINPUTEVENTS    (KeyPressed | EnterWindow | LeaveWindow | FocusChange)
  1369.  
  1370. #define    TWINDOWEVENTS    (KeyPressed | ExposeWindow | ButtonPressed |\
  1371.              ButtonReleased | UnmapWindow | EnterWindow |\
  1372.              LeaveWindow | FocusChange)
  1373.  
  1374. #define    WINDOWEVENTS    (TWINDOWEVENTS | ExposeRegion | ExposeCopy)
  1375.  
  1376. #define TEK_LINK_BLOCK_SIZE 1024
  1377.  
  1378. typedef struct Tek_Link
  1379. {
  1380.     struct Tek_Link    *next;    /* pointer to next TekLink in list
  1381.                    NULL <=> this is last TekLink */
  1382.     short count;
  1383.     char *ptr;
  1384.     char data [TEK_LINK_BLOCK_SIZE];
  1385. } TekLink;
  1386.  
  1387. /* flags for cursors */
  1388. #define    OFF        0
  1389. #define    ON        1
  1390. #define    CLEAR        0
  1391. #define    TOGGLE        1
  1392.  
  1393. /* flags for color */
  1394. #define    C_FOREGROUND    0x01
  1395. #define    C_BACKGROUND    0x02
  1396. #define    C_FBMASK    0x03
  1397. #define    C_CURSOR    0x04
  1398. #define    C_MOUSE        0x08
  1399. #define    C_BORDER    0x10
  1400.  
  1401. /* flags for inhibit */
  1402. #define    I_LOG        0x01
  1403. #define    I_SIGNAL    0x02
  1404. #define    I_TEK        0x04
  1405.  
  1406. extern Bitmap make_icon();
  1407. extern Cursor make_tcross();
  1408. extern Cursor make_xterm();
  1409. extern Cursor make_wait();
  1410. extern Cursor make_arrow();
  1411. RAZZLE!DAZZLE
  1412. fi    # End ptyx.h
  1413. if test -f saveoff.ic
  1414. then
  1415.     echo shar: will not overwrite existing file "'saveoff.ic'"
  1416. else
  1417. echo 'x - saveoff.ic'
  1418. cat << \RAZZLE!DAZZLE > saveoff.ic
  1419. /* @(#)saveoff.ic       X10/6.6B 12/26/86 */
  1420. #define saveoff_width 19
  1421. #define saveoff_height 19
  1422. static short saveoff_bits[] = {
  1423.    0x0000, 0x0000, 0x0000, 0x0000,
  1424.    0x0000, 0x0000, 0x0000, 0x0000,
  1425.    0x78f0, 0x0000, 0xa528, 0x0000,
  1426.    0xb568, 0x0000, 0xbde8, 0x0000,
  1427.    0xe538, 0x0000, 0x78f8, 0x0000,
  1428.    0x0008, 0x0000, 0x0008, 0x0000,
  1429.    0x0f88, 0x0000, 0x0f88, 0x0000,
  1430.    0x0f88, 0x0000, 0x0000, 0x0000,
  1431.    0x0000, 0x0000, 0x0000, 0x0000,
  1432.    0x0000, 0x0000};
  1433. RAZZLE!DAZZLE
  1434. fi    # End saveoff.ic
  1435. if test -f saveon.ic
  1436. then
  1437.     echo shar: will not overwrite existing file "'saveon.ic'"
  1438. else
  1439. echo 'x - saveon.ic'
  1440. cat << \RAZZLE!DAZZLE > saveon.ic
  1441. /* @(#)saveon.ic       X10/6.6B 12/26/86 */
  1442. #define saveon_width 19
  1443. #define saveon_height 19
  1444. static short saveon_bits[] = {
  1445.    0x0000, 0x0000, 0x0000, 0x0000,
  1446.    0x0000, 0x0000, 0x0000, 0x0000,
  1447.    0x78f0, 0x0000, 0xa528, 0x0000,
  1448.    0xb568, 0x0000, 0xbde8, 0x0000,
  1449.    0xe538, 0x0000, 0xb8e8, 0x0000,
  1450.    0x4010, 0x0000, 0x2020, 0x0000,
  1451.    0x1fc0, 0x0000, 0x0f80, 0x0000,
  1452.    0x0f80, 0x0000, 0x0000, 0x0000,
  1453.    0x0000, 0x0000, 0x0000, 0x0000,
  1454.    0x0000, 0x0000};
  1455. RAZZLE!DAZZLE
  1456. fi    # End saveon.ic
  1457. if test -f scrollbar.h
  1458. then
  1459.     echo shar: will not overwrite existing file "'scrollbar.h'"
  1460. else
  1461. echo 'x - scrollbar.h'
  1462. cat << \RAZZLE!DAZZLE > scrollbar.h
  1463. /*
  1464.  *    $Source: /u1/X/xterm/RCS/scrollbar.h,v $
  1465.  *    $Header: scrollbar.h,v 10.100 86/12/01 14:40:30 jg Rel $
  1466.  */
  1467.  
  1468. /* @(#)scrollbar.h       X10/6.6B 12/26/86 */
  1469. #define    BARSTART        (2 * BUTTONHEIGHT)
  1470. #define    BUTTONHEIGHT        SCROLLBARWIDTH
  1471. #define    HILITED            1
  1472. #define    MINSCROLLBARHEIGHT    (BARSTART + 32)
  1473. #define    NBUTTONBITMAPS        (BUTTON_NORMAL / 2 + 1)
  1474. #define    NSAVESTATES        2
  1475. #define    PAUSETIME        (1000000L / 5)
  1476. #define    SAVELINES        64
  1477. #define    SCROLLBARWIDTH        20
  1478. #define    STEPTIME        (1000000L / 10)
  1479.  
  1480. /*
  1481.  * the first four must be consecutive and at the bottom
  1482.  */
  1483. #define    BUTTON_UPLINE        0
  1484. #define    BUTTON_UPLINEHI        (BUTTON_UPLINE | HILITED)
  1485. #define    BUTTON_DOWNLINE        (BUTTON_UPLINE + 2)
  1486. #define    BUTTON_DOWNLINEHI    (BUTTON_DOWNLINE | HILITED)
  1487. #define    BUTTON_UPPAGE        (BUTTON_DOWNLINE + 2)
  1488. #define    BUTTON_UPPAGEHI        (BUTTON_UPPAGE | HILITED)
  1489. #define    BUTTON_DOWNPAGE        (BUTTON_UPPAGE + 2)
  1490. #define    BUTTON_DOWNPAGEHI    (BUTTON_DOWNPAGE | HILITED)
  1491. #define    BUTTON_TOP        (BUTTON_DOWNPAGE + 2)
  1492. #define    BUTTON_TOPHI        (BUTTON_TOP | HILITED)
  1493. #define    BUTTON_BOTTOM        (BUTTON_TOP + 2)
  1494. #define    BUTTON_BOTTOMHI        (BUTTON_BOTTOM | HILITED)
  1495. #define    BUTTON_NORMAL        (BUTTON_BOTTOM + 2)
  1496.  
  1497. #define    SAVE_OFF        0
  1498. #define    SAVE_ON            1
  1499.  
  1500. #define    HIDE            1
  1501. #define    NONE            0
  1502. #define    SHOW            2
  1503.  
  1504. #define    GetButtonState(sb)        (sb->buttonset)
  1505. #define    GetSaveState(sb)        (sb->saveset)
  1506. #define    GetScrollBarBottom(sb)        (sb->set.bottomvalue)
  1507. #define    GetScrollBarRegion(sb)        (sb->set.regionheight)
  1508. #define    GetScrollBarTop(sb)        (sb->set.topvalue)
  1509. #define    GetScrollBarValue(sb)        (sb->set.value)
  1510. #define    SetScrollBarBottom(sb,bot)    sb->set.bottomvalue = (bot)
  1511. #define    SetScrollBarRegion(sb,reg)    sb->set.regionheight = (reg)
  1512. #define    SetScrollBarTop(sb,top)        sb->set.topvalue = (top)
  1513. #define    SetScrollBarValue(sb,val)    sb->set.value = (val)
  1514.  
  1515. struct scroll_region {
  1516.     int value;            /* value at top of region */
  1517.     int regionheight;        /* region height below value */
  1518.     int topvalue;            /* of scroll area */
  1519.     int bottomvalue;        /* of scroll area */
  1520.     int height;            /* of scroll area */
  1521.     int y;                /* y position of region */
  1522.     int pixelheight;        /* height in pixel of region */
  1523. };
  1524.  
  1525. typedef struct scroll_bar {
  1526.     int visible;                /* scrollbar visible */
  1527.     int buttonstate;            /* current button state */
  1528.     int buttonset;                /* requested button state */
  1529.     int savestate;                /* current save state */
  1530.     int saveset;                /* requested save state */
  1531.     int regionvisible;            /* region visible */
  1532.     int action;                /* state is changing */
  1533.     Window bar;                /* main scrollbar window */
  1534.     Window button;                /* button window */
  1535.     Window save;                /* save state window */
  1536.     Window region;                /* region window */
  1537.     Cursor cursor;                /* scrollbar cursor */
  1538.     short *buttonbits[NBUTTONBITMAPS];    /* button state bitmaps */
  1539.     short *savebits[NSAVESTATES];        /* save state bitmaps */
  1540.     int fg;                    /* foreground color */
  1541.     int bg;                    /* background color */
  1542.     struct scroll_region state;        /* current region state */
  1543.     struct scroll_region set;        /* requested region state */
  1544. } ScrollBar;
  1545.  
  1546. ScrollBar *CreateScrollBar();
  1547. RAZZLE!DAZZLE
  1548. fi    # End scrollbar.h
  1549. if test -f tek_icon.ic
  1550. then
  1551.     echo shar: will not overwrite existing file "'tek_icon.ic'"
  1552. else
  1553. echo 'x - tek_icon.ic'
  1554. cat << \RAZZLE!DAZZLE > tek_icon.ic
  1555. /* @(#)tek_icon.ic       X10/6.6B 12/26/86 */
  1556. #define tek_icon_width 32
  1557. #define tek_icon_height 24
  1558. static short tek_icon_bits[] = {
  1559.    0xffff, 0xffff, 0x5001, 0x8005,
  1560.    0xaffd, 0xbffa, 0x5001, 0x8005,
  1561.    0xffff, 0xffff, 0x0001, 0x8000,
  1562.    0x0001, 0x8000, 0x0b89, 0x8000,
  1563.    0x2009, 0x8000, 0x4019, 0x9e00,
  1564.    0x8049, 0x8100, 0x0109, 0x8080,
  1565.    0x0409, 0x9082, 0x3819, 0x8440,
  1566.    0xce09, 0x8149, 0x2109, 0x805a,
  1567.    0x8089, 0x803c, 0x0059, 0x8025,
  1568.    0x0049, 0x8e80, 0x0009, 0x8000,
  1569.    0x8889, 0x8888, 0xfff9, 0x9fff,
  1570.    0x0001, 0x8000, 0xffff, 0xffff};
  1571. RAZZLE!DAZZLE
  1572. fi    # End tek_icon.ic
  1573. if test -f top.ic
  1574. then
  1575.     echo shar: will not overwrite existing file "'top.ic'"
  1576. else
  1577. echo 'x - top.ic'
  1578. cat << \RAZZLE!DAZZLE > top.ic
  1579. /* @(#)top.ic       X10/6.6B 12/26/86 */
  1580. #define top_width 19
  1581. #define top_height 19
  1582. static short top_bits[] = {
  1583.    0x0000, 0x0000, 0x0000, 0x0000,
  1584.    0x0000, 0x0000, 0xfff8, 0x0000,
  1585.    0xfff8, 0x0000, 0x8208, 0x0000,
  1586.    0x8708, 0x0000, 0x8f88, 0x0000,
  1587.    0x9fc8, 0x0000, 0x8708, 0x0000,
  1588.    0x8708, 0x0000, 0x8008, 0x0000,
  1589.    0x8008, 0x0000, 0x8008, 0x0000,
  1590.    0x8008, 0x0000, 0x8008, 0x0000,
  1591.    0x0000, 0x0000, 0x0000, 0x0000,
  1592.    0x0000, 0x0000};
  1593. RAZZLE!DAZZLE
  1594. fi    # End top.ic
  1595. if test -f upline.ic
  1596. then
  1597.     echo shar: will not overwrite existing file "'upline.ic'"
  1598. else
  1599. echo 'x - upline.ic'
  1600. cat << \RAZZLE!DAZZLE > upline.ic
  1601. /* @(#)upline.ic       X10/6.6B 12/26/86 */
  1602. #define upline_width 19
  1603. #define upline_height 19
  1604. static short upline_bits[] = {
  1605.    0x0000, 0x0000, 0x0000, 0x0000,
  1606.    0x0000, 0x0000, 0x0000, 0x0000,
  1607.    0x0200, 0x0000, 0x0700, 0x0000,
  1608.    0x0f80, 0x0000, 0x1fc0, 0x0000,
  1609.    0x0700, 0x0000, 0x0700, 0x0000,
  1610.    0x0000, 0x0000, 0x0000, 0x0000,
  1611.    0xef78, 0x0000, 0x0000, 0x0000,
  1612.    0xdbb8, 0x0000, 0x0000, 0x0000,
  1613.    0x0000, 0x0000, 0x0000, 0x0000,
  1614.    0x0000, 0x0000};
  1615. RAZZLE!DAZZLE
  1616. fi    # End upline.ic
  1617. if test -f uppage.ic
  1618. then
  1619.     echo shar: will not overwrite existing file "'uppage.ic'"
  1620. else
  1621. echo 'x - uppage.ic'
  1622. cat << \RAZZLE!DAZZLE > uppage.ic
  1623. /* @(#)uppage.ic       X10/6.6B 12/26/86 */
  1624. #define uppage_width 19
  1625. #define uppage_height 19
  1626. static short uppage_bits[] = {
  1627.    0x0000, 0x0000, 0x0000, 0x0000,
  1628.    0x0000, 0x0000, 0x7f00, 0x0000,
  1629.    0x4180, 0x0000, 0x4140, 0x0000,
  1630.    0x4120, 0x0000, 0x41f0, 0x0000,
  1631.    0x4210, 0x0000, 0x4710, 0x0000,
  1632.    0x4f90, 0x0000, 0x5fd0, 0x0000,
  1633.    0x4710, 0x0000, 0x4710, 0x0000,
  1634.    0x4010, 0x0000, 0x7ff0, 0x0000,
  1635.    0x0000, 0x0000, 0x0000, 0x0000,
  1636.    0x0000, 0x0000};
  1637. RAZZLE!DAZZLE
  1638. fi    # End uppage.ic
  1639. if test -f wait.ic
  1640. then
  1641.     echo shar: will not overwrite existing file "'wait.ic'"
  1642. else
  1643. echo 'x - wait.ic'
  1644. cat << \RAZZLE!DAZZLE > wait.ic
  1645. /* @(#)wait.ic       X10/6.6B 12/26/86 */
  1646. #define wait_width 16
  1647. #define wait_height 16
  1648. #define wait_x_hot 7
  1649. #define wait_y_hot 7
  1650. static short wait_bits[] = {
  1651.    0x0000, 0x03e0, 0x0c18, 0x1084,
  1652.    0x1084, 0x2082, 0x2082, 0x2382,
  1653.    0x2002, 0x2002, 0x1004, 0x1004,
  1654.    0x0c18, 0x0ff8, 0x1ffc, 0x0000};
  1655. RAZZLE!DAZZLE
  1656. fi    # End wait.ic
  1657. if test -f waitmask.ic
  1658. then
  1659.     echo shar: will not overwrite existing file "'waitmask.ic'"
  1660. else
  1661. echo 'x - waitmask.ic'
  1662. cat << \RAZZLE!DAZZLE > waitmask.ic
  1663. /* @(#)waitmask.ic       X10/6.6B 12/26/86 */
  1664. #define waitmask_width 16
  1665. #define waitmask_height 16
  1666. #define waitmask_x_hot 7
  1667. #define waitmask_y_hot 7
  1668. static short waitmask_bits[] = {
  1669.    0x07f0, 0x0ff8, 0x1ffc, 0x3ffe,
  1670.    0x7fff, 0x7fff, 0x7fff, 0x7fff,
  1671.    0x7fff, 0x7fff, 0x7fff, 0x3ffe,
  1672.    0x1ffc, 0x3ffe, 0x3ffe, 0x3ffe};
  1673. RAZZLE!DAZZLE
  1674. fi    # End waitmask.ic
  1675. echo '***** End of' xterm 6.6B - Part 1 of 7 '*****'
  1676. exit
  1677.  
  1678.